package com.ibeetl.admin.aod.entity;

import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;

import org.beetl.sql.core.annotatoin.AutoID;
import org.beetl.sql.core.annotatoin.SeqID;

import com.ibeetl.admin.core.util.ValidateConfig;

import org.beetl.sql.core.TailBean;
import java.math.*;

import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.entity.BaseEntity;

/* 
* 
* gen by Spring Boot2 Admin 2018-04-07
*/
public class DieImportTask extends BaseEntity{

    //主键
    @NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
    @SeqID(name = ORACLE_CORE_SEQ_NAME)
    @AutoID	
	
    private Integer id ;
	
    //批次号
	
    private String batchNo ;
	
    //导入类型
	
    private Integer importType ;

    public enum ImportType {

        MATCH_DATA_UPLOAD(1, "配对上传"),
        EXCEL_FILTER(2, "EXCEL筛查"),
        DB_FILTER(3, "数据库筛查");

        private int value;

        private String name;

        ImportType(int value, String name) {
            this.value = value;
            this.name = name;
        }

        public int getValue() {
            return value;
        }

        public void setValue(int value) {
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }
	
    //文件名
	
    private String fileName ;
	
    //文件保存路径
	
    private String fileSavePath ;
	
    //结果文件名称,多文件以逗号分隔
	
    private String resultFileNames ;

    public static String DELIVRD_RESULT_FILE_NAME = "delivrd.csv";

    public static String OTHER_RESULT_FILE_NAME = "mk.csv";

    //文件处理状态
    private Integer processStatus ;

    public enum ProcessStatus {

        TO_BE_PROCESSED(1, "待处理"),
        IN_THE_PROCESSING(2, "处理中"),
        PROCESSED_SUCCESS(3, "处理成功"),
        PROCESSED_FAILED(4, "处理失败");

        private int value;

        private String name;

        ProcessStatus(int value, String name) {
            this.value = value;
            this.name = name;
        }

        public int getValue() {
            return value;
        }

        public void setValue(int value) {
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    //文件处理结果说明
	
    private String processResult ;
	
    //备注
	
    private String bz ;
	
    //物理标识,1=正常,0=废弃
	
    private Integer physicsFlag ;

    // 正常
    public static Integer NORMAL = 1;
    // 废弃
    public static Integer ABANDONED = 0;

    //创建人
	
    private String createUser ;
	
    //创建时间
	
    private Date createTime ;
	
    //任务开始时间
	
    private Date taskStartTime ;
	
    //任务结束时间
	
    private Date taskEndTime ;
	
    //耗时
	
    private Integer consumingTime ;
	
    //总记录数
	
    private Integer totalRows ;
	
    //处理成功记录数
	
    private Integer successRows ;
	
    //处理成功记录数
	
    private Integer failRows ;
	
    public DieImportTask()
    {
    }

    /**主键
    *@return 
    */
    public Integer getId(){
	    return  id;
    }
    /**主键
    *@param  id
    */
    public void setId(Integer id){
        this.id = id;
    }

    /**批次号
    *@return 
    */
    public String getBatchNo(){
	    return  batchNo;
    }
    /**批次号
    *@param  batchNo
    */
    public void setBatchNo(String batchNo){
        this.batchNo = batchNo;
    }

    /**导入类型,1=黑名单上传,2=行业上传,3=关键词上传,4=行业数据上传
    *@return 
    */
    public Integer getImportType(){
	    return  importType;
    }
    /**导入类型,1=黑名单上传,2=行业上传,3=关键词上传,4=行业数据上传
    *@param  importType
    */
    public void setImportType(Integer importType){
        this.importType = importType;
    }

    /**文件名
    *@return 
    */
    public String getFileName(){
	    return  fileName;
    }
    /**文件名
    *@param  fileName
    */
    public void setFileName(String fileName){
        this.fileName = fileName;
    }

    /**文件保存路径
    *@return 
    */
    public String getFileSavePath(){
	    return  fileSavePath;
    }
    /**文件保存路径
    *@param  fileSavePath
    */
    public void setFileSavePath(String fileSavePath){
        this.fileSavePath = fileSavePath;
    }

    /**结果文件名称,多文件以逗号分隔
    *@return 
    */
    public String getResultFileNames(){
	    return  resultFileNames;
    }
    /**结果文件名称,多文件以逗号分隔
    *@param  resultFileNames
    */
    public void setResultFileNames(String resultFileNames){
        this.resultFileNames = resultFileNames;
    }

    /**文件处理状态
    *@return 
    */
    public Integer getProcessStatus(){
	    return  processStatus;
    }
    /**文件处理状态
    *@param  processStatus
    */
    public void setProcessStatus(Integer processStatus){
        this.processStatus = processStatus;
    }

    /**文件处理结果说明
    *@return 
    */
    public String getProcessResult(){
	    return  processResult;
    }
    /**文件处理结果说明
    *@param  processResult
    */
    public void setProcessResult(String processResult){
        this.processResult = processResult;
    }

    /**备注
    *@return 
    */
    public String getBz(){
	    return  bz;
    }
    /**备注
    *@param  bz
    */
    public void setBz(String bz){
        this.bz = bz;
    }

    /**物理标识,1=正常,0=废弃
    *@return 
    */
    public Integer getPhysicsFlag(){
	    return  physicsFlag;
    }
    /**物理标识,1=正常,0=废弃
    *@param  physicsFlag
    */
    public void setPhysicsFlag(Integer physicsFlag){
        this.physicsFlag = physicsFlag;
    }

    /**创建人
    *@return 
    */
    public String getCreateUser(){
	    return  createUser;
    }
    /**创建人
    *@param  createUser
    */
    public void setCreateUser(String createUser){
        this.createUser = createUser;
    }

    /**创建时间
    *@return 
    */
    public Date getCreateTime(){
	    return  createTime;
    }
    /**创建时间
    *@param  createTime
    */
    public void setCreateTime(Date createTime){
        this.createTime = createTime;
    }

    /**任务开始时间
    *@return 
    */
    public Date getTaskStartTime(){
	    return  taskStartTime;
    }
    /**任务开始时间
    *@param  taskStartTime
    */
    public void setTaskStartTime(Date taskStartTime){
        this.taskStartTime = taskStartTime;
    }

    /**任务结束时间
    *@return 
    */
    public Date getTaskEndTime(){
	    return  taskEndTime;
    }
    /**任务结束时间
    *@param  taskEndTime
    */
    public void setTaskEndTime(Date taskEndTime){
        this.taskEndTime = taskEndTime;
    }

    /**耗时
    *@return 
    */
    public Integer getConsumingTime(){
	    return  consumingTime;
    }
    /**耗时
    *@param  consumingTime
    */
    public void setConsumingTime(Integer consumingTime){
        this.consumingTime = consumingTime;
    }

    /**总记录数
    *@return 
    */
    public Integer getTotalRows(){
	    return  totalRows;
    }
    /**总记录数
    *@param  totalRows
    */
    public void setTotalRows(Integer totalRows){
        this.totalRows = totalRows;
    }

    /**处理成功记录数
    *@return 
    */
    public Integer getSuccessRows(){
	    return  successRows;
    }
    /**处理成功记录数
    *@param  successRows
    */
    public void setSuccessRows(Integer successRows){
        this.successRows = successRows;
    }

    /**处理成功记录数
    *@return 
    */
    public Integer getFailRows(){
	    return  failRows;
    }
    /**处理成功记录数
    *@param  failRows
    */
    public void setFailRows(Integer failRows){
        this.failRows = failRows;
    }


}
